"""
字典：是一个键值对存储的格式   key-value的形式
字典是可变的、在python3.7版本之前是无序的，

键值对：
key:必须是不可变的类型，并且，在同一个字典中是唯一的
value: 可以是任意的类型
字典是用 {} 来表示，键和值之间使用 ： 来进行分割，键值对之间使用 ， 分割

"""

# person = {"name":"WC","age":18,"meath":98}
# print(person)
# print(type(person))

#创建字典

# a = dict([("name","WC")])
# print(a)

#通过zip来创建字典的对象

"""
k list 就为key
v list 为value
通过zip   组成一个字典 ，k 的每一个元素就对应着 v 的每一个元素的值
"""

# k = ['name','age','job']
#
# v = ['WC',18,'teacher']
#
# d = dict(zip(k,v))
#
# print(d)



# 通过 fromkeys 创建值为空的字典
"""
在python中，所有的  . 就是的意思
dict：是字典的标识符，所有的dict都是字典的对象
"""

# a = dict.fromkeys(['name','age','address'])
# print(a)


#字典的增删改查
#创建一个字典
# student_dict = {"name":"WC",'age':18,'job':'teacher'}
# # 通过get的方法获取value的值
# """
# dict.get()
#
# 如果key存在 则返回 key
# 如果不存在，则返回 None
# 如果在后面加上  not defind
# 在key不存在的时候自动返回 not defind
#
# """
# print(student_dict.get('name1','not defind'))

#通过dict 中的 括号直接访问它的value的值
# student_dict = {"name":"WC",'age':18,'job':'teacher'}
#直接返回value的值
# print(student_dict['name'])


#使用 items
# student_dict = {"name":"WC",'age':18,'job':'teacher'}
#列表套着元组的形式返回键值对
# # print(student_dict.items())
#
# #keys 是一个列表包含着所有的key值
# print(student_dict.keys())
# #keys 是一个列表包含着所有的values值
# print(student_dict.values())



# 通过内置函数 len 返回键值对的个数
# student_dict = {"name":"WC",'age':18,'job':'teacher'}
#
# print(len(student_dict))



# student_dict = {"name":"WC",'age':18,'job':'teacher'}
#
#
# if 'name' in student_dict:
#     print('在')
# else:
#     print('不在')


#使用 dict.fromkeys 的方法 进行去重
# my_list = [1,2,2,3,4,4,5]
# unique_list = list(dict.fromkeys(my_list))
# print(unique_list)





# 使用update方法来更新字典
# 如果字典中存在重复的key 会默认拿最后一个 key 来返回


# a = {"name":"longzai",'age':'18','job':'programmer'}
#
# b = {'name':'longzaibbb','age':19}
#
# a.update(b)
# print(a)



# 删除字典元素 pop

# student_dict = {"name":"WC",'age':18,'job':'teacher'}
#
# student_dict.pop('name')
# print(student_dict)


# 使用 del 内置方法进行删除
# student_dict = {"name":"WC",'age':18,'job':'teacher'}
#
# del  student_dict['age']
# print(student_dict)



# clear   清空所有的键值对
# student_dict = {"name": "WC", 'age': 18, 'job': 'teacher'}
#
# student_dict.clear()
# print(student_dict)

#字典的遍历访问

# dict_info = {"name":'zahsan',"age":19,"address":'shenyang','phone':'13888888888'}

#直接遍历访问字典中所有的 key 的值

# for key in dict_info.keys():
#     print(key)
#
# for value in dict_info.values():
#     print(value)


# for key,value in dict_info.items():
#     print(f'key的值：{key}，value的值是：{value}')